home *** CD-ROM | disk | FTP | other *** search
- Path: nntp.teleport.com!sschaem
- From: sschaem@teleport.com (Stephan Schaem)
- Newsgroups: comp.sys.amiga.programmer,comp.sys.amiga.games,alt.sys.amiga.demos,comp.sys.amiga.misc
- Subject: Re: AB3D II beats Quake....
- Followup-To: comp.sys.amiga.programmer,comp.sys.amiga.games,alt.sys.amiga.demos,comp.sys.amiga.misc
- Date: 5 Apr 1996 17:13:53 GMT
- Organization: Teleport - Portland's Public Access (503) 220-1016
- Message-ID: <4k3kch$do3@nadine.teleport.com>
- References: <DosA8o.17B@info.uucp> <6538.6658T1031T2526@mbox.vol.it> <4jgn4o$l2b@hell.team17.com> <4jk515$q3l@nadine.teleport.com> <4jkdpu$1o6@hell.team17.com> <4joj14$ghj@nadine.teleport.com> <4js275$98s@hell.team17.com> <4jt8bh$a70@nadine.teleport.com> <4ju1qf$k4@hell.team17.com> <4juplu$n44@nadine.teleport.com> <4jutrg$alh@hell.team17.com> <4jvho1$41l@nadine.teleport.com> <4k1j58$b9l@hell.team17.com>
- NNTP-Posting-Host: linda.teleport.com
- X-Newsreader: TIN [version 1.2 PL2]
-
- Stefan Boberg (boberg@team17.com) wrote:
- : sschaem@teleport.com (Stephan Schaem) wrote:
-
- : > 6... the one you missed is recursive subdivision, and the fastest methode
- : > I tryed.
-
- : Ah, do you mean subdividing polygons? That doesn't really have
- : anything to do with rasterization, though? Not directly.
-
- Well, you incorporate the recursive call in the render call. Should
- be more eficient.
-
- : Anyway, I haven't tried that yet, since I currently need to support
- : N-sided polygons, and there's no _trivial_ way of subdividing those,
- : as far as I know. I'll probably look into it though. BTW: As far as I
-
- My guess is that they are convex... then why not split them into
- triangle, its trivial: (each new triangle share 1 slope, so using
- a more cleaver methode the slope information could be shared.
-
- a = p[0] ; b = p[1] ; c = p[2]
- render(a,b,c)
- b = p[3]
- render(a,b,c)
- c = p[4]
- render(a,b,c)
- etc...
-
- The recursive subdivision happen in render()
-
- : can see, it's quite important to choose your splitting position
- : carefully, since splitting polygons simply in half in general doesn't
- : give you what you want (it's quick, though).
-
- spliting in half of quad... spliting in quad require only a few add and
- shift... If you look at this its basicly like doing using the 1/z
- methode with scan line subdivision but doing it also in the Y. You sample
- as many point needed on that 3d surface so the linear interpolation of
- it match the best that you need.
-
- In my test, I saw no diference betwen doing plain linear tmapping or
- perspective correct tmapping using this methode.
-
- I was only testing, and I had a little problem that I never fixed :)
- the junction sometime from the split created some pixel unmaped.
- but should be fixable.
-
- Stephan
-